In modern computer system, the startup of the system software is generally step by step, particularly in a linux embedded system. As the kernel occupies much space, it's difficult for the system software to be completely started at one time, thus a step-by-step startup method is adopted: first starting a simple small program (bootloader), also named as a pre-startup program, and then starting part of the hardware by the bootloader, so that larger kernel programs can be started.
In existing devices such as the mobile terminal and the like, the higher the integration level of hardware is, the more the components to be started are; and the stronger the functions realized by the software are, the more the codes of the software are. Due to the above reasons, the startup is slower. To bring better experience to users and prevent them from worrying about the long startup process, generally, a prompt that the system is being started is supplied to the users in the first step of the startup process. Generally, the best method to give the prompt is to display pictures on an LCD screen.
However, in the startup process, the software started step by step is relatively independent. When the software of a higher level is started, due to different requirements for the performance of the hardware, a LCD (Liquid Crystal Display) of an RGB interface may need to be reinitialized according to the requirements, and display of the LCD needs to read data from a video memory for storing the contents to be displayed, and then the contents are displayed according to the read data. The LCD of the RGB interface has no video memory for storing the displayed contents, and the video memory is realized by a CPU from a special area developed on a common memory; and when the LCD of the RGB interface needs to display contents, the CPU generally develops a special Direct Memory Access (DMA) channel, so that the LCD can directly read the data in the video memory through the Central Processing Unit (CPU). The development of the video memory and establishment of the DMA channel are implemented by corresponding software; and when the program of a higher level is started, the program must newly develop a video memory as required and establish a DMA channel when the LCD needs to read data.
Due to the step-by-step and hierarchical startup mode, when a new program is started, a new video memory is developed and a DMA channel is established, an LCD controller for controlling the display of the LCD is generally set as required, the first address of the video memory is stored in the LCD controller, and the LCD reads the contents in the video memory according to the first address of the video memory in the LCD controller.
As shown in FIG. 1, during program startup, the method mainly includes the following steps:
S101, initializing the LCD by the bootloader;
S102, distributing a first video memory by the bootloader;
S103, initializing the LCD controller according to an address of the first video memory by the bootloader;
S104, starting a kernel program, and initializing the LCD by the kernel;
S105, distributing a second video memory by the kernel;
S106, initializing the LCD controller according to an address of the second video memory by the kernel.
When the kernel reinitializes the LCD and the LCD just begins to read waiting information data in the second video memory according to the address of the second video memory in the LCD controller, as the waiting information data in the second video memory needs to be rewritten, unnatural switching phenomena such as distortion, flashing, and blurred screen in the LCD screen display may occur. Generally, to prevent the conditions from being seen by users, a mode of turning off the LCD backlight is adopted; and due to discontinuous pictures, poor experience is generally brought to the users.